#define MAXSIZE 100 //储存元素的最大个数
typedef int ElementType  //数据类型整形
//结构
struct QNode{
  ElementType Data[MAXSIZE];
  int front;  //记录队列头元素位置的变量
  int rear;   //记录队列尾元素位置
}
typedef struct QNode *Queue;
//循环队列，仅使用n-1的空间
//1.入队列
void AddQ(Queue PtrQ,ElementType item){
  if((PtrQ->rear+1)%MAXSIZE==PtrQ->front){
    printf("队列满");
    return;
  }
  PtrQ->rear=(PtrQ->rear+1)%MAXSIZE;
  PtrQ->Data[PtrQ->rear]=item;
}
//2.出队列
ElementType DeleteQ(Queue PtrQ){
  if(PtrQ->front==PtrQ->rear){
    printf("队列空");
    return ERROR;
  }else{
    PtrQ->front=(PtrQ->front+1)%MAXSIZE;
    return PtrQ->Data[PtrQ->front];
  }
}